package com.mineoj.model.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mineoj.model.entity.News;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.Date;

/**
 * 新鲜事封装类

 */
@Data
public class NewsVO implements Serializable {
    /**
     * id
     */
    private Long id;

    /**
     * 标题
     */
    private String title;

    /**
     * 内容
     */
    private String content;
    

    /**
     * 点赞数
     */
    private Integer thumbNum;

    /**
     * 评论数
     */
    private Integer commentNum;

    /**
     * 创建用户 id
     */
    private Long userId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否删除
     */
    private Integer isDelete;
    /**
     * 创建用户信息
     */
    private UserVO userVO;

    /**
     * 是否已点赞
     */
    private Boolean hasThumb;


    /**
     * 包装类转对象
     *
     * @param newsVO
     * @return
     */
    public static News voToObj(NewsVO newsVO) {
        if (newsVO == null) {
            return null;
        }
        News news = new News();
        BeanUtils.copyProperties(newsVO, news);

        return news;
    }

    /**
     * 对象转包装类
     *
     * @param news
     * @return
     */
    public static NewsVO objToVo(News news) {
        if (news == null) {
            return null;
        }
        NewsVO newsVO = new NewsVO();
        BeanUtils.copyProperties(news, newsVO);

        return newsVO;
    }

    private static final long serialVersionUID = 1L;
}